home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / BOSS1BodyAttack4.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  3.5 KB  |  160 lines

  1. class BOSS1BodyAttack4 extends EnemyAction {
  2.    private int nTime = 0;
  3.    private int nMode = 0;
  4.    private int fxSpeed = -1048576;
  5.    private int fxInit;
  6.    private int fxAdd;
  7.    private int nMove;
  8.  
  9.    public BOSS1BodyAttack4(StgFrame var1) {
  10.       super(var1);
  11.    }
  12.  
  13.    public boolean action(EnemyIndex var1) {
  14.       super.resource.getEnemy();
  15.       BOSS1Index var2 = (BOSS1Index)var1;
  16.       switch (this.nMode) {
  17.          case 0:
  18.             this.LegIn(var2);
  19.             break;
  20.          case 1:
  21.             this.Jump(var2);
  22.             break;
  23.          case 2:
  24.             this.LegOut(var2);
  25.             break;
  26.          case 3:
  27.             this.Return(var2);
  28.             break;
  29.          case 4:
  30.             var1.setEnemyAction(new BOSS1BodyNomal(super.resource));
  31.       }
  32.  
  33.       this.destroy(var1);
  34.       return true;
  35.    }
  36.  
  37.    private void LegIn(BOSS1Index var1) {
  38.       BOSS1Index var2 = var1.getDefectIndex();
  39.       ((StgObjectIndex)var1).movePosition(0, 49152, 0);
  40.       ((StgObjectIndex)var2).movePosition(0, 49152, 0);
  41.       ++this.nTime;
  42.       if (this.nTime == 8) {
  43.          this.nMode = 1;
  44.          this.nTime = 0;
  45.       }
  46.  
  47.    }
  48.  
  49.    private void Jump(BOSS1Index var1) {
  50.       BOSS1Index var2 = var1.getLegIndex();
  51.       BOSS1Index var3 = var1.getDefectIndex();
  52.       int var4 = this.fxSpeed;
  53.       ((StgObjectIndex)var1).movePosition(-262144, var4, 0);
  54.       ((StgObjectIndex)var2).movePosition(-262144, var4, 0);
  55.       ((StgObjectIndex)var3).movePosition(-262144, var4, 0);
  56.       this.fxSpeed += 65536;
  57.       ++this.nTime;
  58.       if (this.nTime == 32) {
  59.          ((StgObjectIndex)var1).movePosition(0, 1048576, 0);
  60.          ((StgObjectIndex)var2).movePosition(0, 1048576, 0);
  61.          ((StgObjectIndex)var3).movePosition(0, 1048576, 0);
  62.          this.nMode = 2;
  63.          this.nTime = 0;
  64.       }
  65.  
  66.    }
  67.  
  68.    private void LegOut(BOSS1Index var1) {
  69.       BOSS1Index var2 = var1.getDefectIndex();
  70.       ((StgObjectIndex)var1).movePosition(0, -49152, 0);
  71.       ((StgObjectIndex)var2).movePosition(0, -49152, 0);
  72.       ++this.nTime;
  73.       if (this.nTime == 8) {
  74.          this.nMode = 3;
  75.          this.nTime = 0;
  76.       }
  77.  
  78.    }
  79.  
  80.    private void Return(BOSS1Index var1) {
  81.       BOSS1Index var2 = var1.getLegIndex();
  82.       BOSS1Index var3 = var1.getDefectIndex();
  83.       ((StgObjectIndex)var1).movePosition(131072, 0, 0);
  84.       ((StgObjectIndex)var2).movePosition(131072, 0, 0);
  85.       ((StgObjectIndex)var3).movePosition(131072, 0, 0);
  86.       ++this.nTime;
  87.       if (this.nTime == 64) {
  88.          this.nMode = 4;
  89.          this.nTime = 0;
  90.       }
  91.  
  92.    }
  93.  
  94.    private boolean ReturnMode0(BOSS1Index var1) {
  95.       BOSS1Index var2 = var1.getLegIndex();
  96.       BOSS1Index var3 = var1.getDefectIndex();
  97.       if (this.nTime == 0) {
  98.          if ((Fixed.Random() & 'ΦÇÇ') != 0) {
  99.             this.fxSpeed = 131072;
  100.          } else {
  101.             this.fxSpeed = -131072;
  102.          }
  103.       }
  104.  
  105.       if (this.nTime == 15) {
  106.          this.fxSpeed = -this.fxSpeed;
  107.          ((StgObjectIndex)var1).movePosition(1048576, 0, 0);
  108.          ((StgObjectIndex)var2).movePosition(1048576, 0, 0);
  109.          ((StgObjectIndex)var3).movePosition(1048576, 0, 0);
  110.       }
  111.  
  112.       ((StgObjectIndex)var1).movePosition(this.fxSpeed, 0, 0);
  113.       ((StgObjectIndex)var2).movePosition(this.fxSpeed, 0, 0);
  114.       ((StgObjectIndex)var3).movePosition(this.fxSpeed, 0, 0);
  115.       ++this.nTime;
  116.       if (this.nTime == 32) {
  117.          ((StgObjectIndex)var1).movePosition(1048576, 0, 0);
  118.          ((StgObjectIndex)var2).movePosition(1048576, 0, 0);
  119.          ((StgObjectIndex)var3).movePosition(1048576, 0, 0);
  120.          this.nTime = 0;
  121.          return true;
  122.       } else {
  123.          return false;
  124.       }
  125.    }
  126.  
  127.    public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
  128.       super.resource.getEnemy();
  129.       return ((StgObjectIndex)var1).checkHit(var2);
  130.    }
  131.  
  132.    public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
  133.       boolean var3 = false;
  134.       super.resource.getEnemy();
  135.       if (((StgObjectIndex)var1).checkHit(var2)) {
  136.          var3 = true;
  137.       }
  138.  
  139.       return var3;
  140.    }
  141.  
  142.    public boolean checkHitBom(EnemyIndex var1) {
  143.       return false;
  144.    }
  145.  
  146.    private boolean destroy(EnemyIndex var1) {
  147.       Enemy var2 = super.resource.getEnemy();
  148.       ((StgObjectIndex)var1).getSpriteAnimeIndex();
  149.       boolean var3 = false;
  150.       Status var4 = super.resource.getStatus();
  151.       if (var1.getHitPoint() == 0) {
  152.          var4.add(var1.getScore());
  153.          ((StgObject)var2).delete(var1);
  154.          var3 = true;
  155.       }
  156.  
  157.       return var3;
  158.    }
  159. }
  160.